package jianzhi;

/**
 * description:
 * author:zt
 * date:2021-10-19
 */

/**
 * 一个长度为n-1的递增排序数组中的所有数字都是唯一的，并且每个数字都在范围0～n-1之内。
 * 在范围0～n-1内的n个数字中有且只有一个数字不在该数组中，请找出这个数字
 */
public class jianzhi53_2 {
//    public int missingNumber(int[] nums) {
//        int L = 0, R = nums.length-1;
//        while (L <= R){  //不选择 L<R 是因为可能存在数组只有一个元素的情况
//            int mid = (L + R) >> 1;
//            if (nums[mid] == mid) L = mid + 1;
//            else R = mid - 1;  //只会有nums[mid] > mid这种情况
//        }
//        return L;
//    }
    public int missingNumber(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != i) return i;
        }
        return nums.length;
    }
}
